package com.ruoyi.system.service;

import com.ruoyi.common.core.web.domain.AjaxResult;

/**
 * 地理位置服务接口
 * 
 * @author ruoyi
 */
public interface IGeoLocationService 
{
    /**
     * 根据地址获取经纬度
     * 
     * @param address 地址
     * @return 经纬度信息
     */
    AjaxResult getLocationByAddress(String address);
    
    
    
    /**
     * 地理位置结果
     */
    class GeoLocationResult 
    {
        /** 经度 */
        private String longitude;
        
        /** 纬度 */
        private String latitude;
        
        /** 地址 */
        private String address;
        
        /** 省份 */
        private String province;
        
        /** 城市 */
        private String city;
        
        /** 区县 */
        private String district;
        
        /** 详细地址 */
        private String formattedAddress;

        public String getLongitude() {
            return longitude;
        }

        public void setLongitude(String longitude) {
            this.longitude = longitude;
        }

        public String getLatitude() {
            return latitude;
        }

        public void setLatitude(String latitude) {
            this.latitude = latitude;
        }

        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        public String getProvince() {
            return province;
        }

        public void setProvince(String province) {
            this.province = province;
        }

        public String getCity() {
            return city;
        }

        public void setCity(String city) {
            this.city = city;
        }

        public String getDistrict() {
            return district;
        }

        public void setDistrict(String district) {
            this.district = district;
        }

        public String getFormattedAddress() {
            return formattedAddress;
        }

        public void setFormattedAddress(String formattedAddress) {
            this.formattedAddress = formattedAddress;
        }
    }
}
